Configuring SIP Response Codes for Alternative Routing Reasons
The Alternative Reasons Set table lets you configure groups of SIP response codes for SBC call release (termination) reasons that trigger alternative routing. This feature works together with the Proxy Hot Swap feature, which is configured in the Proxy Sets table.
Alternative routing based on SIP responses is configured using two tables with "parent-child" relationship:
■ | Alternative Reasons Set table ("parent"): Defines the name of the Alternative Reasons Set. You can configure up to 10 Alternative Reasons Sets. |
■ | Alternative Reasons Rules table ("child"): Defines SIP response codes per Alternative Reasons Set. You can configure up to 200 Alternative Reasons Rules in total, where each Alternative Reasons Set can include up to 20 Alternative Reasons Rules. |
To apply your configured alternative routing reason rules, you need to assign the Alternative Reasons Set for which you configured the rules, to the relevant IP Group in the IP Groups table, using the 'SBC Alternative Routing Reasons Set' parameter.
In addition to configuring the response codes described in this section, you need to configure the following:
■ | A Proxy Set with one or more addresses (proxy servers) and whose 'Proxy Hot Swap Mode' parameter is configured to Enable (see Configuring Proxy Sets). |
■ | An IP-to-IP Routing rule 1) whose 'Destination IP Group' parameter is a Server-type IP Group that is associated with the above Proxy Set (see Configuring SBC IP-to-IP Routing Rules) and 2) that is assigned the relevant Alternative Reasons Set (using the 'SBC Alternative Routing Reasons Set' parameter). |
■ | An alternative IP-to-IP Routing rule for the above rule. |
Alternative routing based on SIP response codes functions as follows:
1. | The device sends (outgoing) a SIP dialog-initiating message (e.g., INVITE, OPTIONS, and SUBSCRIBE) to one of the online proxy servers (addresses) configured for the Proxy Set that is associated with the destination IP Group of the matched IP-to-IP Routing rule. |
2. | If there is no response to the sent SIP message, or a "reject" (release) response is received (e.g., SIP 406) that is also configured for the Alternative Reasons Set assigned to the destination IP Group, the device tries to route the SIP message again (re-transmission) to the same proxy for a user-defined number of times, configured by the [HotSwapRtx] parameter. If still unsuccessful, the device tries to send the message to a different online proxy of the Proxy Set and if unsuccessful, it tries another online proxy, and so on (up to four online proxies are attempted). The order of attempted online proxies is according to the Proxy Set's configuration. |
The following can then occur depending on received response codes or no responses:
● | If any attempted proxy sends a response code that you have not configured for the assigned Alternative Reasons Set, the routing of the SIP message fails and the device doesn't make any further attempts to route the message. |
● | If the device has tried all the online proxies of the Proxy Set and no response has been received or responses have been received that you have also configured for the assigned Alternative Reasons Set, the device searches the IP-to-IP Routing table for a matching alternative routing rule and if found, sends the SIP message to the destination configured for that alternative routing rule (repeating steps 1 through 2 above, if needed). |
You can also configure alternative routing for the following proprietary response codes (if configured in the table) that are issued by the device itself:
■ | 806 Media Limits Exceeded: The device generates the response code when the call is terminated due to crossed user-defined thresholds of QoE metrics such as MOS, packet delay, and packet loss (see Configuring Quality of Experience Profiles) and/or media bandwidth (see Configuring Bandwidth Profiles). When this occurs, the device sends a SIP 480 (Temporarily Unavailable) response to the SIP entity (IP Group). This is configured by 1) assigning an IP Group a QoE and/or Bandwidth profile that rejects calls if the threshold is crossed, 2) configuring 806 for an Alternative Reasons Set that is assigned to the IP Group and 3) configuring an alternative routing rule. |
The device also generates the response code when it rejects a call based on Quality of Service rules due to crossed Voice Quality and Bandwidth thresholds (see Configuring Quality of Service Rules). If the response code is configured in the table and the device rejects a call due to threshold crossing, it searches in the IP-to-IP Routing table for an alternative routing rule.
■ | 850 Signalling Limits Exceeded: The device generates the response code when it rejects a call based on Quality of Service rules due to crossed ASR, NER or ACD thresholds (see Configuring Quality of Service Rules). If the response code is configured for an Alternative Reasons Set that is assigned to the IP Group and the device rejects a call due to threshold crossing, it searches in the IP-to-IP Routing table for an alternative routing rule. |
● | This section is applicable only to the SBC application. |
● | The device issues itself the SIP response code 408 when no response is received from a sent SIP message. |
● | If the device receives a SIP 408 response, an ICMP message, or no response, it still does alternative routing even if you have not configured this code for an Alternative Reasons Set. |
● | SIP requests belonging to an SRD or IP Group that have reached the call limit (maximum concurrent calls and/or call rate), configured in the Call Admission table, are sent to an alternative route (if configured in the IP-to-IP Routing table for the SRD or IP Group). If no alternative routing rule is found, the device automatically rejects the SIP request with a SIP 480 (Temporarily Unavailable) response. |
● | If due to an INVITE message the device receives from the proxy a SIP 18x response (e.g., 180 or 183) followed by any failure response (e.g., 400 Not Found), the device doesn't do alternative routing, but instead terminates the call. This occurs even if the failure response is configured in the associated Alternative Reasons Set. |
The following procedure describes how to configure Alternative Reasons sets through the Web interface. You can also configure it through other management platforms:
■ | Alternative Reasons Set table: ini file [SBCAltRoutingReasonsSet] or CLI (configure voip > sbc routing alt-route-reasons-set) |
■ | Alternative Reasons Rules table: ini file [SBCAltRoutingReasonsList] or CLI (configure voip > sbc routing alt-route-reasons-set < alt-route-reasons-rules) |
➢ | To configure SIP reason codes for alternative IP routing: |
1. | Open the Alternative Reasons Set table (Setup menu > Signaling & Media tab > SBC folder > Routing > Alternative Reasons Set). |
2. | Click New; the following dialog box appears: |
3. | Configure an Alternative Reasons Set according to the parameters described in the table below. |
4. | Click Apply. |
Alternative Reasons Set Table Parameter Descriptions
Parameter |
Description |
---|---|
'Index' [Index] |
Defines an index number for the new table row. Note: Each row must be configured with a unique index. |
'Name' name [Name] |
Defines an arbitrary name to easily identify the row. The valid value is a string of up to 40 characters. Note: Configure each row with a unique name. |
'Description' description [Description] |
Defines a description for the Alternative Reasons Set. The valid value is a string of up to 99 characters. By default, no value is defined. |
5. | Select the index row of the Alternative Reasons Set that you added, and then click the Alternative Reasons Rules link located at the bottom of the page; the Alternative Reasons Rules table opens. |
6. | Click New; the following dialog box appears: |
7. | Configure Alternative Reasons rules according to the parameters described in the table below. |
8. | Click Apply. |
Alternative Reasons Rules Table Parameter Descriptions
Parameter |
Description |
---|---|
'Index' alt-route-reasons-rules [SBCAltRoutingReasonsList_SBCAltRouteIndex] |
Defines an index number for the new table row. Note: Each row must be configured with a unique index. |
'Release Cause Code' rel-cause-code [SBCAltRoutingReasonsList_ReleaseCauseCode] |
Defines a SIP response code that triggers the device's alternative routing mechanism. [4] 4xx; [5] 5xx; [6] 6xx; [400] 400 Bad Request; [402] 402 Payment Required; [403] 403 Forbidden; [404] 404 Not Found; [405] 405 Method Not Allowed; [406] 406 Not Acceptable; [408] 408 Request Timeout (Default); [409] 409 Conflict; [410] 410 Gone; [413] 413 Request Too Large; [414] 414 Request URI Too Long; [415] 415 Unsupported Media; [420] 420 Bad Extension; [421] 421 Extension Required; [423] 423 Session Interval Too Small; [480] 480 Unavailable; [481] 481 Transaction Not Exist; [482] 482 Loop Detected; [483] 483 Too Many Hops; [484] 484 Address Incomplete; [485] 485 Ambiguous; [486] 486 Busy; [487] 487 Request Terminated; [488] 488 Not Acceptable Here; [491] 491 Request Pending; [493] 493 Undecipherable; [500] 500 Internal Error; [501] 501 Not Implemented; [502] 502 Bad Gateway; [503] 503 Service Unavailable; [504] 504 Server Timeout; [505] 505 Version Not Supported; [513] 513 Message Too Large; [600] 600 Busy Everywhere; [603] 603 Decline; [604] 604 Does Not Exist Anywhere; [606] 606 Not Acceptable; [806] 806 Media Limits Exceeded; [850] 850 Signalling Limits Exceeded. |